<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<title>VIM 中文帮助: Haiku</title>
<link rel="stylesheet" href="vim-stylesheet.css" type="text/css" />
<link rel="canonical" href="https://yianwillis.github.io/vimcdoc/doc/os_haiku.html" />
<script type="text/javascript" src="vimcdoc.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<nav id=banner>
<form action=tags.html target="tag_iframe">
  <input type="text" name="tag" id="tag" placeholder="标签搜索">
</form>
<iframe name="tag_iframe" src=""></iframe>
<a href="help.html">帮助总览</a> &middot;
<hr/>
<a href="quickref.html">快速参考</a> &middot;
<a href="index.html">命令索引</a> &middot;
<a href="eval.html#functions">函数列表</a> &middot;
<a href="quickref.html#option-list">选项列表</a> &middot;
<hr/>
<a href="usr_toc.html">用户手册</a> &middot;
<a href="help.html#reference_toc">参考手册</a> &middot;
</nav>

<header>
<h2>os_haiku</h2>
</header>
<article id=outer>
<section class=inner>
<b class="vimtag"> <a name="os_haiku.txt">os_haiku.txt</a> </b>  适用于 Vim 9.0 版本。   最近更新: 2023年2月


                  <code class="vim">VIM 参考手册    by Bram Moolenaar</code>
                                <code class="vim">译者</code>: Willis


                                                        <b class="vimtag"> <a name="Haiku">Haiku</a> </b>
本文包含了 Vim 的 Haiku 版本的特殊之处。除了本文提到的之外，和一般的 Unix
 <a href="os_unix.html#os_unix.txt">os_unix.txt</a>  版本的 Vim 行为大致相当。

Haiku 是受 BeOS 启发的开源操作系统，特别针对个人计算而设计。

 1. 通用                         <a href="os_haiku.html#haiku-general">haiku-general</a> 
 2. 编译 Vim                     <a href="os_haiku.html#haiku-compiling">haiku-compiling</a> 
 3. Haiku GUI                    <a href="os_haiku.html#haiku-gui">haiku-gui</a> 
 4. $VIM 目录                    <a href="os_haiku.html#haiku-vimdir">haiku-vimdir</a> 
 5. $USER_SETTINGS_DIR 目录      <a href="os_haiku.html#haiku-user-settings-dir">haiku-user-settings-dir</a> 
 6. 拖放                         <a href="os_haiku.html#haiku-dragndrop">haiku-dragndrop</a> 
 7. 单一启动对多重启动           <a href="os_haiku.html#haiku-launch">haiku-launch</a> 
 8. 字体                         <a href="os_haiku.html#haiku-fonts">haiku-fonts</a> 
 9. meta 键修饰符                <a href="os_haiku.html#haiku-meta">haiku-meta</a> 
10. 鼠标键映射                   <a href="os_haiku.html#haiku-mouse">haiku-mouse</a> 
11. 色彩名                       <a href="os_haiku.html#haiku-colors">haiku-colors</a> 
12. GUI 工具栏图像               <a href="os_haiku.html#haiku-toolbar-images">haiku-toolbar-images</a> 
13. 鸣谢                         <a href="os_haiku.html#haiku-support-credits">haiku-support-credits</a> 
14. 漏洞和未完成事宜             <a href="os_haiku.html#haiku-bugs">haiku-bugs</a> 


1. 通用                                                 <b class="vimtag"> <a name="haiku-general">haiku-general</a> </b>

缺省语法高亮主要用于使用不同的前景色来高亮项目。最适用于深色背景和浅色字母的终
端窗口设置。有些中灰背景 (例如 (r,g,b)=(168,168,168)) 带上黑色字母也很不错。


2. 编译 Vim                                             <b class="vimtag"> <a name="haiku-compiling">haiku-compiling</a> </b>

Vim 可以用标准的 configure/make 方法编译。不带参数运行 ./configure 或传递
--enable-gui=haiku 会在编译 vim 时带上 Haiku GUI 支持。运行 ./configure --help
可看到哪些其它的特性可以打开/关闭。

Haiku 使用 "ncurses6" 作为其终端库，因此需要从 HaikuDepot 安装
"ncurses6_devel" 包以配置 Haiku 的编译。初次编译时在下面的 ./configure 命令里
加上 "--with-tlib=ncurses"。

现在要用 "make" 来编译 Vim，然后 "make install" 来安装。要和 Haiku 无缝集成，
在 GUI 版本之外还应额外安装无 GUI 的 vim 程序。典型的编译命令是: 
<code class="example"></code>
<code class="example">  ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \</code>
<code class="example">    --datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \</code>
<code class="example">    --mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \</code>
<code class="example">    --with-tlib=ncurses</code>
<code class="example">  make clean</code>
<code class="example">  make install</code>
<code class="example"></code>
<code class="example">  ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`  \</code>
<code class="example">    --datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \</code>
<code class="example">    --mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \</code>
<code class="example">    --with-tlib=ncurses \</code>
<code class="example">    --disable-gui</code>
<code class="example">  make clean</code>
<code class="example">  make install</code>
<code class="example"></code>
<code class="example"></code>
3.  Haiku GUI                                           <b class="vimtag"> <a name="haiku-gui">haiku-gui</a> </b>

通常，如果以 gvim 或 vim -g 方式启动，Vim 启动 GUI。带 GUI 的 vim 版本会试图判
断是否从 Tracker 而不是终端启动，如果是，则总选用 GUI。不过，如果用命令
"vim - &lt;/dev/null"，当前的检测机制会失效。

还不可用的功能:

- 在窗口之外不生成鼠标释放事件。如果你选择文本然后把光标移动出窗口并释放鼠标按
  钮，就会<code class="note">注意</code>到这个问题。此外在拖动滚动条时做同样的事也是如此。因为 Vim 仍然
  认为你在操作滚动条，它不会自己更新它。有一个临时解决办法，在窗口激活或去活时
  会启用 (所以最好打开焦点跟随鼠标选项)。
- 光标不闪烁。


4. $VIM 目录                                            <b class="vimtag"> <a name="haiku-vimdir">haiku-vimdir</a> </b>

$VIM 是代表 Vim 保存支持文件的位置的名字。$VIM 的缺省值在编译时决定，可这样看
到: 
<code class="example"></code>
<code class="example">  :version</code>
<code class="example"></code>
通常 Haikuports 的版本其值是 /boot/common/data/vim，手动编译的版本其值为
/boot/system/non-packaged/data/vim。如果不喜欢，可以自己设置 VIM 环境变量来覆
盖此值，或在 .vimrc 里设置 <a href="options.html#'helpfile'">'helpfile'</a>: 
<code class="example"></code>
<code class="example">  :if version &gt;= 500</code>
<code class="example">  :    set helpfile=~/vim/runtime/doc/help.txt</code>
<code class="example">  :    syntax on</code>
<code class="example">  :endif</code>
<code class="example"></code>
<code class="example"></code>
5. $USER_SETTINGS_DIR 目录                      <b class="vimtag"> <a name="haiku-user-settings-dir">haiku-user-settings-dir</a> </b>

$USER_SETTINGS_DIR 是代表 Haiku 保存配置和设定文件的位置的名字。

通常其值是 /boot/home/config/settings。


6. 拖放                                                 <b class="vimtag"> <a name="haiku-dragndrop">haiku-dragndrop</a> </b>

可以把文件和目录放置在 Vim 图标上 (启动新 Vim 会话，除非用文件类型应用把 Vim
设为 "单一启动") 或 Vim 窗口上 (开始编辑文件)。目录的放置会切换 Vim 当前目录
 <a href="editing.html#:cd">:cd</a>   <a href="editing.html#:pwd">:pwd</a> 。如果放置文件或目录时按住 SHIFT 键，Vim 会切换目录为首个放置项目
所在的目录。启动 Vim 时，不需要按住 shift: Vim 的行为相当于按住时一样。

放置文件时会设置当前参数列表。 <a href="editing.html#argument-list">argument-list</a> 


7. 单一启动对多重启动                                   <b class="vimtag"> <a name="haiku-launch">haiku-launch</a> </b>

发布时 Vim 的应用标志位 (FileTypes 首选项所见的) 设为多重启动。如果你喜欢的
话，可以设置为单一启动。这样试图打开第二份 Vim 时会用原来的 Vim 来打开文件。这
既适用于 Tracker，也适用于命令行。不过，后者不支持非文件 (选项) 参数。单一启动
的另一个缺点是即使编译时带了 GUI 支持，以非 GUI 应用方式运行的 vim 实例也会在
无<code class="note">警告</code>的情况下忽略 "以 ... 方式打开" 请求。GUI 方式运行的 Vim 实例则没有这个问
题。

<code class="note">注意</code>: 只有 GUI 版本有 BApplication (因而会有应用标志位)。此节不适用于你编译的
无 GUI 的版本。


8. 字体                                                 <b class="vimtag"> <a name="haiku-fonts">haiku-fonts</a> </b>

这样设置字体 
<code class="example"></code>
<code class="example">  :set guifont=DejaVu_Sans_Mono/Book/12</code>
<code class="example"></code>
这里第一部分是字体家族，第二部分是风格，而第三部分是大小。这里可用下划线代替家
族和风格里的空格。

等宽字体提供最佳效果。Vim 试图使用所有 B_FIXED_SPACING 模式的字体，但显然这不
适用于比例字体 (尽管 BeBook 是这么说的)。

要检验当前字符支持什么编码，可用 
<code class="example"></code>
<code class="example">  :digraphs</code>
<code class="example"></code>
命令，列出一堆字符和它们的 ISO Latin 1 编码。如果，比如说，其中有 "方框" 字
符，或最后一个字符不是带点的 y，这么此编码对这个字体而言不可用。

指定的字体不可用时会改用系统固定宽度字体。

以下命令可给出 GUI 字体选择对话框: 
<code class="example"></code>
<code class="example">  :set guifont=*</code>
<code class="example"></code>
<code class="example"></code>
9. meta 键修饰符                                        <b class="vimtag"> <a name="haiku-meta">haiku-meta</a> </b>

可由左或右 OPTION 键来获取 META 键修饰符。这是因为 ALT (也就是 COMMAND) 键不传
递给应用的缘故。


10. 鼠标键映射                                          <b class="vimtag"> <a name="haiku-mouse">haiku-mouse</a> </b>

Vim 把若干鼠标按钮命名为 LeftMouse、MiddleMouse 和 RightMouse。如果你用缺省鼠
标首选设定，这些名字确实对应现实情况。Vim 使用以下映射:

    Button 1 -&gt; LeftMouse，
    Button 2 -&gt; RightMouse，
    Button 3 -&gt; MiddleMouse。

如果你的鼠标少于 3 个按钮，可提供自己的映射，把带修饰符 (可多个) 的鼠标点击映
射到其它的鼠标按钮。例见 $VIM/macros/swapmous.vim。      <a href="gui.html#gui-mouse-mapping">gui-mouse-mapping</a> 


11. 色彩名                                              <b class="vimtag"> <a name="haiku-colors">haiku-colors</a> </b>

Vim 有内建的若干色彩名。 <a href="eval.html#v:colornames">v:colornames</a>  可定义额外的名字。详见  <a href="syntax.html#:colorscheme">:colorscheme</a> 。


12. GUI 工具栏图像                                      <b class="vimtag"> <a name="haiku-toolbar-images">haiku-toolbar-images</a> </b>

工具栏图像的替换集必须是 PNG 图像，高度可自选。计算图像宽度时要能在一列中包含
至少 32 个按钮的单元格。
必须以 $VIMRUNTIME/bitmaps/builtin-tools.png 名字保存此图像。按钮分配的更多详
情可见  <a href="gui.html#builtin-tools">builtin-tools</a> 。


13. 鸣谢                                                <b class="vimtag"> <a name="haiku-support-credits">haiku-support-credits</a> </b>

Haiku 的移植版本基于许多人完成的 BeOS 版本的相关工作
 - BeBox GUI 支持，1998 年版权所有，作者是 Olaf Seibert；
 - 99 年七月 R4 的移植版本，作者是 Richard Offer &lt;richard@whitequeen.com&gt;；
 - 其它贡献者，不能尽列但我们不会忘记；
 - 2009 年四至五月的 Haiku 支持，作者是 Siarzhuk Zharski &lt;imker@gmx.li&gt;。

所有的改动和补丁都以 vim 许可证发布。

谢谢大家了！


14. 漏洞和未完成事宜                                    <b class="vimtag"> <a name="haiku-bugs">haiku-bugs</a> </b>

此移植版本现在还在开发中，离尽善尽美还相差甚远。关于各种漏洞报告、补丁和愿望，
请使用 Vim 邮件列表或 Vim Github 库。

邮件列表: <a href="https://www.vim.org/maillist.php">https://www.vim.org/maillist.php</a>
Vim Github 库: <a href="https://github.com/vim/vim">https://github.com/vim/vim</a>


 vim:tw=78:ts=8:ft=help:norl:
</section>
</article>
<footer>
Generated by vim2html
</footer>
</body>
</html>
